#ifndef __MATCH_H__
#define __MATCH_H__

#ifdef __cplusplus
#define BEGIN_DECLS extern "C" {
#define END_DECLS }
#else
#define BEGIN_DECLS 
#define END_DECLS
#endif

BEGIN_DECLS
typedef struct
{
	float *tmp;
	float *ref;
	int num;
	int len;
}Match;

Match * createMatch(short * ref, int num,int len , int Q);


float doMatchFixed(Match *match , short *vec,int ref_idx,int Q);


float doMatch(Match *match , float *vec,int ref_idx);

float MatchFixed(short *A , short *B, int len, int Q);

/* 
  exp ：
  参考向量数量 NUM
  参考数量长度 LEN
  SDK返回的人脸向量 vec = TsmFaceResult.feature
  
  Match *match = createMatch(参考向量，NUM，LEN，Q默认15);
  只对比输入1个向量 和 一个参考向量
  score  = doMatchFixed(match,&vec[face_idx * LEN],比对向量索引, Q默认15)；
 */


END_DECLS

#endif